$(document).ready(function() {
	setDipEAree();
	setEvt();
	$("input").focusin(toolTipAccount);


removeHome();

});

function removeHome() {
	$('#home-btn').removeClass('active');
}

function execute() {
	
	var controllo = controlAccount();
	
	 
	 if (controllo == false ) {

			myConfirmation("CONFERMA CREAZIONE ACCOUNT ?","confirm","center");

		}
		else {
			myAlert("Ci sono campi errati o non compilati!","warning","center");
		}
}



function removeClasses() {
	
	$('#nome').closest(".form-group").removeClass("has-error");
	$('#cognome').closest(".form-group").removeClass("has-error");
	$('#nome-resp').closest(".form-group").removeClass("has-error");
	$('#cognome-resp').closest(".form-group").removeClass("has-error");
	$('#email').closest(".form-group").removeClass("has-error");
	$('#matricola').closest(".form-group").removeClass("has-error");
	$('#citta').closest(".form-group").removeClass("has-error");
	$('#codiceFiscale').closest(".form-group").removeClass("has-error");
	$('#anno-messa-ruolo').closest(".form-group").removeClass("has-error");
	$('#username').closest(".form-group").removeClass("has-error");
	$('#password').closest(".form-group").removeClass("has-error");
	$('#data-nascita').closest(".form-group").removeClass("has-error");
	$('#citta-nascita').closest(".form-group").removeClass("has-error");
	$('#indirizzo').closest(".form-group").removeClass("has-error");
	$('#tipologia-account').closest(".form-group").removeClass("has-error");
	$('#sesso').closest(".form-group").removeClass("has-error");
	$('#ruolo').closest(".form-group").removeClass("has-error");
	$('#dipartimento').closest(".form-group").removeClass("has-error");
	$('#area-scientifica').closest(".form-group").removeClass("has-error");
	$('#data-nascita').closest(".form-group").removeClass("has-error");
	$('#evento').closest(".form-group").removeClass("has-error");

}

function myConfirmation(testo,tipo,posizione) {



	var n = noty({
		text: testo, type :tipo , layout : posizione, modal:true,
		buttons: [
		          {addClass: 'btn btn-primary', text: 'SI', onClick: function(n) {

		        	  // this = button element
		        	  // $noty = $noty element

		        	  n.close();
		        	  noty({text: "CREAZIONE ACCOUNT EFFETTUATA CORRETTAMENTE", type: 'success' , layout: posizione, modal: true, buttons:[ {addClass:'btn btn-primary', text:'OK', onClick: function(){
		        		  $("#create-account").submit();}
		        	  }]});
		          }



		          },
		          {addClass: 'btn btn-danger', text: 'ANNULLA', onClick: function(n) {
		        	  n.close();
		        	  noty({text: "CREAZIONE ACCOUNT ANNULLATA", type: 'error' , layout : posizione, timeout: 1500, modal: true, onClick : $("#create-account")[0].reset() });

		          }
		          }
		          ]
	});

}

function myAlert(testo,tipo,posizione){

	noty({text: ""+testo, layout :""+posizione , type: tipo , modal:true});

}


function toolTipAccount(){
	$('#username').tooltip({		              
		'selector': '',
		'title': 'Un Username con lunghezza compresa tra 6 e 20 caratteri ',
		'trigger': 'focus',
		'placement': 'right'
	});

	$('#password').tooltip({		              
		'selector': '',
		'title': 'Una password con lunghezza compresa tra 6 e 15 caratteri ',
		'trigger': 'focus',
		'placement': 'right'
	});

	$('#nome').tooltip({		              
		'selector': '',
		'title': 'Un testo con lunghezza compresa tra 3 e 15 caratteri ',
		'trigger': 'focus',
		'placement': 'right'
	});

	$('#nome-resp').tooltip({		              
		'selector': '',
		'title': 'Un testo con lunghezza compresa tra 3 e 15 caratteri ',
		'trigger': 'focus',
		'placement': 'right'
	});

	$('#cognome').tooltip({		              
		'selector': '',
		'title': 'Un testo con lunghezza compresa tra 3 e 15 caratteri ',
		'trigger': 'focus',
		'placement': 'right'
	});


	$('#cognome-resp').tooltip({		              
		'selector': '',
		'title': 'Un testo con lunghezza compresa tra 3 e 15 caratteri ',
		'trigger': 'focus',
		'placement': 'right'
	});

	$('#codiceFiscale').tooltip({		              
		'selector': '',
		'title': 'Un testo con lunghezza compresa di 16 caratteri ',
		'trigger': 'focus',
		'placement': 'right'
	});

	$('#data-nascita').tooltip({		              
		'selector': '',
		'title': 'Un testo con formato GG/MM/AAAA',
		'trigger': 'focus',
		'placement': 'right'
	});

	$('#indirizzo').tooltip({		              
		'selector': '',
		'title': 'Un testo con lunghezza compresa tra 8 e 25 caratteri',
		'trigger': 'focus',
		'placement': 'right'
	});

	$('#citta-nascita').tooltip({		              
		'selector': '',
		'title': 'Un testo con lunghezza compresa tra 3 e 20 caratteri ',
		'trigger': 'focus',
		'placement': 'right'
	});

	$('#email').tooltip({		              
		'selector': '',
		'title': 'Email con lunghezza compresa tra 10 e 40 caratteri con formato user@sito.it ',
		'trigger': 'focus',
		'placement': 'right'
	});

	$('#matricola').tooltip({		              
		'selector': '',
		'title': 'Testo con lunghezza di 10  caratteri ',
		'trigger': 'focus',
		'placement': 'right'
	});

	$('#anno-messa-ruolo').tooltip({		              
		'selector': '',
		'title': 'Stringa numerica  nel formato AAAA',
		'trigger': 'focus',
		'placement': 'right'
	});

} 

function controlAccount() {
	removeClasses();

	var lunghezzaUsername = $('#username').val().length;
	var lunghezzaPassword = $('#password').val().length;
	var lunghezzaNome = $('#nome').val().length;
	var valoreNome = $('#nome').val();
	var lunghezzaCognome = $('#cognome').val().length;
	var valoreCognome = $('#cognome').val();
	var lunghezzaEmail = $('#email').val().length;
	var lunghezzaCF = $('#codiceFiscale').val().length;
	
	var valoreDataNascita = $('#data-nascita').val().length; // NON SAPREI COME FARE IL CONTROLLO ADATTO :D 
	
	var lunghezzaIndirizzo = $('#indirizzo').val().length;
	var lunghezzaCitta = $('#citta-nascita').val().length;
	var lunghezzaMatricola = $('#matricola').val().length;
	var lunghezzaAnnoMessaRuolo = $('#anno-messa-ruolo').val().length;
	var valoreSesso=$('#sesso').val();
	var valoreRuolo=$('#ruolo').val();
	var valoreDip=$('#dipartimento').val();
	var valoreAreaSci=$('#area-scientifica').val();
	
	var lunghezzaNomeResp = $('#nome-resp').val().length;
	var valoreNomeResp = $('#nome-resp').val();
	var lunghezzaCognomeResp = $('#cognome-resp').val().length;
	var valoreCognomeResp = $('#cognome-resp').val();
	var valoreEvento=$('#evento').val();
	
	var valoreTipologia = $("#tipologia-account").val();
	
	var dataVal = $('#data-nascita').val();
    var dataElement = dataVal.split("/");
    // Remove the slash from the String dataVal and returns an array 
    //with all elements DD,MM,YYYY if in our dataVal there is not a slash, it will return an undefined element.
    var lunghezzaDataSplitted=0;
    var dataToVerify="";
    for(var i = 0; i < dataElement.length; i++) {
    	lunghezzaDataSplitted+=dataElement[i].length;
    	dataToVerify+=dataElement[i];
    }
	
    	var testDat =$('#data-nascita').prop('type');
    
    
	if (valoreTipologia=='') {
		var campiErrati=false;

		if (lunghezzaUsername < 6 || lunghezzaUsername > 20) {
			campiErrati=true;

			$('#username').closest(".form-group").addClass("has-error");
		}

		if (lunghezzaPassword < 6 || lunghezzaPassword > 15) {
			campiErrati=true;

			$('#password').closest(".form-group").addClass("has-error");
		} 

		$('#tipologia-account').closest(".form-group").addClass("has-error");
	}



	else if (valoreTipologia=='ricercatore') {
        var campiErrati=false;
        
		if (lunghezzaUsername < 6 || lunghezzaUsername > 20) {
			campiErrati=true;

			$('#username').closest(".form-group").addClass("has-error");
		}
		
		if (lunghezzaPassword < 6 || lunghezzaPassword > 15) {
			campiErrati=true;

			$('#password').closest(".form-group").addClass("has-error");
		} 

		if (lunghezzaNome<3 || lunghezzaNome>15 || !checkOnlyLetters(valoreNome) ) {
			campiErrati=true;

			$('#nome').closest(".form-group").addClass("has-error");
		}
		

		if (lunghezzaCognome<3 || lunghezzaCognome>15 || !checkOnlyLetters(valoreCognome) ) {
			campiErrati=true;

			$('#cognome').closest(".form-group").addClass("has-error");
		}
		
		if (lunghezzaCF != 16 ) {
			campiErrati=true;

			$('#codiceFiscale').closest(".form-group").addClass("has-error");
		}
		

		if (lunghezzaIndirizzo < 8 || lunghezzaIndirizzo > 25) {
			campiErrati=true;

			$('#indirizzo').closest(".form-group").addClass("has-error");
		}

		if (lunghezzaEmail<10 || lunghezzaEmail>40) {
			campiErrati=true;
			$('#email').closest(".form-group").addClass("has-error");
		}
		if (lunghezzaMatricola !=10) {
			campiErrati=true;

			$('#matricola').closest(".form-group").addClass("has-error");
		}
		if (lunghezzaAnnoMessaRuolo !=4 || (isNaN($('#anno-messa-ruolo').val()))) {
			campiErrati=true;

			$('#anno-messa-ruolo').closest(".form-group").addClass("has-error");
		}
		if (lunghezzaCitta < 3 || lunghezzaCitta > 20 ) {
			campiErrati=true;

			$('#citta-nascita').closest(".form-group").addClass("has-error");
		}
		
		if (valoreSesso=='') {
			campiErrati=true;
			$('#sesso').closest(".form-group").addClass("has-error");
		}
		
		if (valoreRuolo=='') {
			campiErrati=true;
			$('#ruolo').closest(".form-group").addClass("has-error");
		}
		
		if (valoreDip=='') {
			campiErrati=true;
			$('#dipartimento').closest(".form-group").addClass("has-error");
		}
		
		if (valoreAreaSci=='') {
			campiErrati=true;
			$('#area-scientifica').closest(".form-group").addClass("has-error");
		}
		if(testDat != "date") {
			
			if (valoreDataNascita!=10 || dataElement == null || (isNaN(dataToVerify)) || lunghezzaDataSplitted!=8) {
				campiErrati=true;
				$('#data-nascita').closest(".form-group").addClass("has-error");
			}
		}
		

		return campiErrati;

	} 
	
	else if(valoreTipologia == 'responsabile') {
		var campiErrati=false;
		
		if (lunghezzaUsername < 6 || lunghezzaUsername > 20) {
			campiErrati=true;

			$('#username').closest(".form-group").addClass("has-error");
			
		}  
		if (lunghezzaPassword < 6 || lunghezzaPassword > 15) {
			campiErrati=true;

			$('#password').closest(".form-group").addClass("has-error");
		} 

		if (lunghezzaNomeResp<3 || lunghezzaNomeResp>15 || !checkOnlyLetters(valoreNomeResp) ) {
			campiErrati=true;

			$('#nome-resp').closest(".form-group").addClass("has-error");
		}  

		if (lunghezzaCognomeResp<3 || lunghezzaCognomeResp>15 || !checkOnlyLetters(valoreCognomeResp) ) {
			campiErrati=true;

			$('#cognome-resp').closest(".form-group").addClass("has-error");
		}  
		
		if (valoreEvento=='') {
			campiErrati=true;

			$('#evento').closest(".form-group").addClass("has-error");
		}
		
		 return campiErrati;

	
	}



}

function checkOnlyLetters(st) {
	
	var onlyLetters = /^[a-zA-Z]*$/;
	
	var array = st.split(" ");
	
	var length = array.length;
	var string="";
	for(var i = 0 ; i < length ; i++ ) {
	  string+=""+array[i];
	}

	return onlyLetters.test(string);
}


function testValue(x){

	var value =$(x).val();


	if(value == "ricercatore") {
		$(".form-responsabile").addClass("hidden");
		$(".form-ricercatore").removeClass("hidden");

	}else if(value == "responsabile") {
		$(".form-responsabile").removeClass("hidden");
		$(".form-ricercatore").addClass("hidden");
	}else {

		$(".form-responsabile").addClass("hidden");
		$(".form-ricercatore").addClass("hidden");
	}
}

function setDipEAree() {


	$.ajax({
		type: "POST",
		url: "./SettingDipartimenti_AreeServlet",
		data: { },
		dataType: "xml",

		success: function(data){

			var resultAre = "<option></option>";
			var resultDip = "<option></option>";


			$(data).find('report').each(function() {

				var idArea =  $(this).find("id_area").text();
				// var codiceArea = $(this).find("area_cod").text();
				var nomeArea = $(this).find("area_nome").text();
				resultAre += "<option id='"+idArea+"' value='"+idArea+"'> "+nomeArea+ "</option>"; 



			});

			$(data).find('reportDip').each(function() {



				var idDip =  $(this).find("id_dipartimento").text();
				var nomeDip =  $(this).find("nome_dipartimento").text();
				resultDip+= "<option id='"+idDip+"' value='"+idDip+"'>" + nomeDip + "</option>";

			});


			$(resultDip).appendTo("#dipartimento");
			$(resultAre).appendTo("#area-scientifica");

		}

	});


}// FINE FUNZIone SETDIP


function setEvt(){

	$.ajax({
		type: "POST",
		url: "./SettingEventoServlet",
		data: { },
		dataType: "xml",

		success: function(data){

			var result = "<option></option>";



			$(data).find('report').each(function() {

				var idEvt =  $(this).find("id_evento").text();

				var nomeEvt = $(this).find("nome").text();
				result += "<option id='"+idEvt+"' value='"+idEvt+"'> "+nomeEvt+ "</option>"; 



			});



			$(result).appendTo("#evento");


		}

	});

}
